
package com.wobaby.vo;

import java.lang.reflect.Method;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import com.wobaby.util.ReflectionSupport;
import com.wobaby.util.RenditionUtil;

// Referenced classes of package com.wobaby.appserver.persistence:
//            PartitionableVO

public class UserVO extends BaseVO
{

	
	 
    public UserVO(Integer userID)
    {
    	this.userID =userID;
    }

    public UserVO(Integer userID,String userName,String name,String userPassword,String emailAddress,String phoneNum,String birth,String createDate,String lastLoginDate,String lastModifiedDate,Short status,Short sex,String affiliation,String functionType,String comments)
    {
    	
    	
    	this.userID = userID;
    	this.userName = userName;
    	this.name = name;
    	this.userPassword = userPassword;
    	this.emailAddress = emailAddress;
    	this.phoneNum = phoneNum;
    	this.birth = birth;
    	this.createDate = createDate;
    	this.lastLoginDate = lastLoginDate;
    	this.lastModifiedDate = lastModifiedDate;
    	this.status = status;
    	this.sex = sex;
    	this.affiliation = affiliation;
    	this.functionType = functionType;
    	this.comments = comments;
    	
    	  
    }

   


    public UserVO(Integer userID,String userName,String name,String userPassword,String emailAddress,String phoneNum,String birth,String createDate,String lastLoginDate,String lastModifiedDate,Short status,Short sex,String affiliation,String functionType,String comments,String userCustom1,String userCustom2,String userCustom3,String userCustom4,String userCustom5,String userCustom6)
    {
    	
    	
    	this.userID = userID;
    	this.userName = userName;
    	this.name = name;
    	this.userPassword = userPassword;
    	this.emailAddress = emailAddress;
    	this.phoneNum = phoneNum;
    	this.birth = birth;
    	this.createDate = createDate;
    	this.lastLoginDate = lastLoginDate;
    	this.lastModifiedDate = lastModifiedDate;
    	this.status = status;
    	this.sex = sex;
    	this.affiliation = affiliation;
    	this.functionType = functionType;
    	this.comments = comments;
    	this.userCustom1 = userCustom1;
    	this.userCustom2 = userCustom2;
    	this.userCustom3 = userCustom3;
    	this.userCustom4 = userCustom4;
    	this.userCustom5 = userCustom5;
    	this.userCustom6 = userCustom6;
    	  
    }


    public UserVO(String userName,String name,String userPassword,String emailAddress,String phoneNum,String birth,String createDate,String lastLoginDate,String lastModifiedDate,Short status,Short sex,String affiliation,String functionType,String comments,String userCustom1,String userCustom2,String userCustom3,String userCustom4,String userCustom5,String userCustom6)
    {
    	
    	
    
    	this.userName = userName;
    	this.name = name;
    	this.userPassword = userPassword;
    	this.emailAddress = emailAddress;
    	this.phoneNum = phoneNum;
    	this.birth = birth;
    	this.createDate = createDate;
    	this.lastLoginDate = lastLoginDate;
    	this.lastModifiedDate = lastModifiedDate;
    	this.status = status;
    	this.sex = sex;
    	this.affiliation = affiliation;
    	this.functionType = functionType;
    	this.comments = comments;
    	this.userCustom1 = userCustom1;
    	this.userCustom2 = userCustom2;
    	this.userCustom3 = userCustom3;
    	this.userCustom4 = userCustom4;
    	this.userCustom5 = userCustom5;
    	this.userCustom6 = userCustom6;
    	  
    }

    
  
    
    public UserVO() {
		// TODO Auto-generated constructor stub
	}




	public int getUserID() {
		return userID;
	}
    
    public void setUserID(int userID) {
		this.userID = userID;
	}
    
	public String getUserName() {
		return userName;
	}
	
    public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getUserPassword() {
		return userPassword;
	}

	public void setUserPassword(String userPassword) {
		this.userPassword = userPassword;
	}

	public String getEmailAddress() {
		return emailAddress;
	}

	public void setEmailAddress(String emailAddress) {
		this.emailAddress = emailAddress;
	}

	public String getPhoneNum() {
		return phoneNum;
	}

	public void setPhoneNum(String phoneNum) {
		this.phoneNum = phoneNum;
	}

	public String getBirth() {
		return birth;
	}
	
    public void setBirth(String birth) {
		this.birth = birth;
	}  

	public String getCreateDate() {
		return createDate;
	}


	public void setCreateDate(String createDate) {
		this.createDate = createDate;
	}


	public String getLastLoginDate() {
		return lastLoginDate;
	}


	public void setLastLoginDate(String lastLoginDate) {
		this.lastLoginDate = lastLoginDate;
	}


	public String getLastModifiedDate() {
		return lastModifiedDate;
	}



	public void setLastModifiedDate(String lastModifiedDate) {
		this.lastModifiedDate = lastModifiedDate;
	}


	public short getStatus() {
		return status;
	}


	public void setStatus(short status) {
		this.status = status;
	}


	public short getSex() {
		return sex;
	}

	public void setSex(short sex) {
		this.sex = sex;
	}



	public String getAffiliation() {
		return affiliation;
	}


	public void setAffiliation(String affiliation) {
		this.affiliation = affiliation;
	}

	public String getComments() {
		return comments;
	}

	public void setComments(String comments) {
		this.comments = comments;
	}


	public String getUserCustom1() {
		return userCustom1;
	}

	public void setUserCustom1(String userCustom1) {
		this.userCustom1 = userCustom1;
	}


	public String getUserCustom2() {
		return userCustom2;
	}


	public void setUserCustom2(String userCustom2) {
		this.userCustom2 = userCustom2;
	}


	public String getUserCustom3() {
		return userCustom3;
	}

	public void setUserCustom3(String userCustom3) {
		this.userCustom3 = userCustom3;
	}

	public String getUserCustom4() {
		return userCustom4;
	}

	public void setUserCustom4(String userCustom4) {
		this.userCustom4 = userCustom4;
	}

	public String getUserCustom5() {
		return userCustom5;
	}

	public void setUserCustom5(String userCustom5) {
		this.userCustom5 = userCustom5;
	}

	public String getUserCustom6() {
		return userCustom6;
	}


	public void setUserCustom6(String userCustom6) {
		this.userCustom6 = userCustom6;
	}



	


    public String toString()
    {
        StringBuffer str = new StringBuffer(250);
        str.append('{');
        str.append("userID=").append(userID);
        str.append(" userName=").append(userName);
        str.append(" firstName=").append(name);
        str.append(" affiliation=").append(affiliation);
        str.append(" phoneNum=").append(phoneNum);
        str.append(" userPassword=").append(userPassword);
        str.append(" emailAddress=").append(emailAddress);
        str.append(" createDate=").append(createDate);
        str.append(" functionType=").append(functionType);
        str.append(" userCustom1=").append(userCustom1);
        str.append(" userCustom2=").append(userCustom2);
        str.append(" userCustom3=").append(userCustom3);
        str.append(" userCustom4=").append(userCustom4);
        str.append(" userCustom5=").append(userCustom5);
        str.append(" userCustom6=").append(userCustom6);
        str.append(" comments=").append(comments);
        str.append(" lastLoginDate=").append(lastLoginDate);
        str.append(" status=").append(status);
        str.append(" lastModifiedDate=").append(lastModifiedDate);
        
        str.append('}');
        return str.toString();
    }

    public boolean equals(Object pOther)
    {
        if(!(pOther instanceof UserVO))
            return false;
        UserVO that = (UserVO)pOther;
        if(!RenditionUtil.eq(userID, that.userID))
            return false;
        if(!RenditionUtil.eq(userName, that.userName))
            return false;
        if(!RenditionUtil.eq(name, that.name))
            return false;
        if(!RenditionUtil.eq(sex, that.sex))
            return false;
        if(!RenditionUtil.eq(affiliation, that.affiliation))
            return false;
        if(!RenditionUtil.eq(phoneNum, that.phoneNum))
            return false;
        if(!RenditionUtil.eq(userPassword, that.userPassword))
            return false;
        if(!RenditionUtil.eq(emailAddress, that.emailAddress))
            return false;
        if(!RenditionUtil.eq(birth, that.birth))
            return false;
        if(!RenditionUtil.eq(createDate, that.createDate))
            return false;
        if(!RenditionUtil.eq(userCustom1, that.userCustom1))
            return false;
        if(!RenditionUtil.eq(userCustom2, that.userCustom2))
            return false;
        if(!RenditionUtil.eq(userCustom3, that.userCustom3))
            return false;
        if(!RenditionUtil.eq(userCustom4, that.userCustom4))
            return false;
        if(!RenditionUtil.eq(userCustom5, that.userCustom5))
            return false;
        if(!RenditionUtil.eq(userCustom6, that.userCustom6))
            return false;
        if(!RenditionUtil.eq(comments, that.comments))
            return false;
        if(!RenditionUtil.eq(lastLoginDate, that.lastLoginDate))
            return false;
        if(!RenditionUtil.eq(status, that.status))
            return false;
        if(!RenditionUtil.eq(functionType, that.functionType))
            return false;
        
        
        return RenditionUtil.eq(lastModifiedDate, that.lastModifiedDate);
    }

    public int hashCode()
    {
        int result = 17;
        result = 37 * result + (userID == null ? 0 : userID.hashCode());
        result = 37 * result + (userName == null ? 0 : userName.hashCode());
        result = 37 * result + (name == null ? 0 : name.hashCode());
        result = 37 * result + (sex == null ? 0 : sex.hashCode());
       // result = 37 * result + (lastName == null ? 0 : lastName.hashCode());
        result = 37 * result + (affiliation == null ? 0 : affiliation.hashCode());
        result = 37 * result + (phoneNum == null ? 0 : phoneNum.hashCode());
        result = 37 * result + (userPassword == null ? 0 : userPassword.hashCode());
        result = 37 * result + (emailAddress == null ? 0 : emailAddress.hashCode());
        result = 37 * result + (birth == null ? 0 : birth.hashCode());
        result = 37 * result + (createDate == null ? 0 : createDate.hashCode());
        result = 37 * result + (functionType == null ? 0 : functionType.hashCode());
        //result = 37 * result + (timeZone == null ? 0 : timeZone.hashCode());
        //result = 37 * result + (requiredUser == null ? 0 : requiredUser.hashCode());
        //result = 37 * result + (privilegeLevel == null ? 0 : privilegeLevel.hashCode());
        //result = 37 * result + (aaaUserName == null ? 0 : aaaUserName.hashCode());
        //result = 37 * result + (aaaPassword == null ? 0 : aaaPassword.hashCode());
        //result = 37 * result + (useAaaLoginForProxy == null ? 0 : useAaaLoginForProxy.hashCode());
        result = 37 * result + (userCustom1 == null ? 0 : userCustom1.hashCode());
        result = 37 * result + (userCustom2 == null ? 0 : userCustom2.hashCode());
        result = 37 * result + (userCustom3 == null ? 0 : userCustom3.hashCode());
        result = 37 * result + (userCustom4 == null ? 0 : userCustom4.hashCode());
        result = 37 * result + (userCustom5 == null ? 0 : userCustom5.hashCode());
        result = 37 * result + (userCustom6 == null ? 0 : userCustom6.hashCode());
        result = 37 * result + (comments == null ? 0 : comments.hashCode());
        result = 37 * result + (lastLoginDate == null ? 0 : lastLoginDate.hashCode());
        //result = 37 * result + (distinguishedName == null ? 0 : distinguishedName.hashCode());
        result = 37 * result + (status == null ? 0 : status.hashCode());
        result = 37 * result + (lastModifiedDate == null ? 0 : lastModifiedDate.hashCode());
        // result = 37 * result + (ticketNumber == null ? 0 : ticketNumber.hashCode());
        //result = 37 * result + (allowFailover == null ? 0 : allowFailover.hashCode());
        return result;
    }


  
	
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
    static final long serialVersionUID = 2L;
	protected Integer userID;
    protected String userName;
    protected String name;
    protected String userPassword;
    protected String emailAddress;
    protected String phoneNum;
    protected String birth;
    protected String createDate; 
    protected String lastLoginDate;
    protected String lastModifiedDate;
    protected Short status;
    protected Short sex;
	protected String affiliation;
    protected String comments;
    protected String userCustom1;
    protected String userCustom2;
    protected String userCustom3;
    protected String userCustom4;
    protected String userCustom5;
    protected String userCustom6;
    protected String functionType;
	public String getFunctionType() {
		return functionType;
	}

	public void setFunctionType(String functionType) {
		this.functionType = functionType;
	}
    
}